A New Transformation based on Process-Message Duality for Concurrent Logic Languages

نویسندگان

  • Kouichi Kumon
  • Keiji Hirata
چکیده

In a concurrent logic language, mapping from the objects in a programmer's mind to actual processes and messages often results in less-than-optimum performance. One reason for this is that an incorrect prediction of the dynamic behavior and the resulting irrelevant mapping make the execution threads short and thus result in frequent suspensions. Also, good performance may be less important than the ease of writing and reading programs. Although in typical language processing systems for a concurrent logic language, shorter execution threads are likely to cause ine ciency, only few attempts extend the thread length by improving the scheduling policy of processing systems. We are proposing a new technique for extending thread length, by exchanging the roles of the processes and messages of a source program; we call this technique a duality transformation. This technique improves program performance without the need for modifying the language processing systems. Processes and messages in a concurrent logic language can perform the same roles, making it is possible to transform processes to messages, and vice versa. Furthermore, the notion of process-message duality not only improves e ciency, but also gives rise to new programming methodologies, which allow meta-level programming without meta-language facilities. In this paper, we discuss the concept of duality of processes and messages, details of the transformation to a dual program, and some actual applications of this transformation.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Executable denotations for concurrent languages using Concurrent Transaction Logic

This paper presents an approach based on a Horn fragment of Concurrent Transaction Logic ( CT R) for semantic description and execution of programming languages. The Horn notation is used in much the same way that plain Horn logic is used to specify semantics of programming languages. However, CT R extends that framework a deductive database language which provides a declarative, logic programm...

متن کامل

Relating State-Based and Process-Based Concurrency through Linear Logic

This paper has the purpose of reviewing some of the established relationships between logic and concurrency, and of exploring new ones. Concurrent and distributed systems are notoriously hard to get right. Therefore, following an approach that has proved highly beneficial for sequential programs, much effort has been invested in tracing the foundations of concurrency in logic. The starting poin...

متن کامل

Concurrent METATEM - A Language for Modelling Reactive Systems

In this paper, a language based on the notion of concurrent, communicating objects is presented. Each object executes a specification given in temporal logic and communicates with other objects using asynchronousbroadcast message-passing. In contrast to the notions of predicates as processes and stream parallelism seen in concurrent logic languages, Concurrent METATEM represents a more course-g...

متن کامل

Semantics-Based Analysis for Optimizing Compilation of Concurrent Programs

Concurrent programming languages provide a paradigm for describing programs with complicated communication networks in a clear way. They support the creation of multiple computational units called processes that run concurrently in a program together with the mechanism for communication between processes, thereby simplifying the programming of synchronization and communication. Among them, conc...

متن کامل

An Open System Operational Semantics for an Object-Oriented and Component-Based Language

Object orientation and component-based development have both proven useful for the elaboration of open distributed systems. These paradigms are offered by the Creol language. Creol objects are concurrent, each with its own virtual processor and internal process control, and communicate using asynchronous (non-blocking) method calls. This provides the efficiency of message passing systems, while...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994